/********************************************
 * 功能说明: 
 * 模块名称: 
 * 系统名称: 
 * 软件版权:
 * 系统版本: 1.0.0
 * 开发人员: zhangfb
 * 开发时间: 2018/12/27 23:59
 * 审核人员: 
 * 相关文档: 
 * 修改记录: 修改日期 修改人员 修改说明
 *********************************************/
package com.hyacinth.serialize;


import com.hyacinth.serialize.impl.JSONSerializer;

/**
 * 序列化通用接口
 * @author zhangfb
 * @version 1.0.0.1
 * @since JDK 1.8
 */
public interface Serializer {

    Serializer DEFAULT = new JSONSerializer();

    /**
     * 序列化算法
     */
    SerializerAlgorithm getSerializerAlgorithm();

    /**
     * java 对象转换成二进制
     */
    byte[] serialize(Object object);

    /**
     * 二进制转换成 java 对象
     */
    <T> T deserialize(Class<T> clazz, byte[] bytes);
}
